package com.cskaoyan.javase.basic._8scanner;

/**
 * @description: Scanner键盘录入
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

import java.util.Scanner;

/**
 * 使用Scanner键盘录入的步骤
 * 三步走:
 *      1,导包,import关键字
 *      2,创建对象
 *      3,调用方法,获取键盘录入
 *
 * 注意事项:
 *      1,键盘录入时,不要输入错误的数据
 *      2,使用Scanner时会调用系统的IO资源,系统资源在使用后应该尽量释放掉,所以可以在使用完毕后关闭Scanner
 *      3,Scanner键盘录入的方法当中,总体分为两大类:
 *          1,以next,nextInt,nextDouble等为代表的方法,称之为"next"系列方法
 *          2,nextLine方法
 *          以上两大类的方法 不能混用,混用会出现一些问题
 *
 *  在next系列方法后面直接跟上一个nextLine方法会导致nextLine方法接收到一个空字符串.这样显然是不合理的
 *
 *  以上,我们在使用Scanner时,注意不要混用两大类方法,建议永远使用某一类方法
 *      1,都使用next系列方法,但是限制比较大
 *      2,都使用nextLine方法,但是存在数据类型转换的问题
 *          比如String --> int
 *          比如String --> double
 *
 */
public class Demo {
    public static void main(String[] args) {
        /*//提示键盘录入的语句
        System.out.println("请输入一个数字: ");
        Scanner sc = new Scanner(System.in);
        //快捷键 .var
        //快捷键 Ctrl + Alt + V
        //写像Scanner sc = new Scanner(System.in)这种语句的时候,不要从左往右写,从右往左写
        int a = sc.nextInt();
        System.out.println("键盘录入的是: " + a);
        sc.close();*/

        //混用nextLine和next系列方法
        Scanner sc = new Scanner(System.in);
        //System.out.println("请输入三个数字:");
        //int a = sc.nextInt();
        //int b = sc.nextInt();
        //int c = sc.nextInt();
        //System.out.println(a);
        //System.out.println(b);
        //System.out.println(c);

        System.out.println("请输入一个字符串:");
        String s = sc.nextLine();
        String s2 = sc.nextLine();
        String s3 = sc.nextLine();
        System.out.println(s);
        System.out.println(s2);
        System.out.println(s3);

        //System.out.println(a);
        //System.out.print(s);
        //System.out.println(s.length());
    }
}
